Skip to content

docs(web/guides): add Debug Panel guide - #2539

Merged
bpamiri merged 4 commits into
developfrom
docs/bot-2536-debug-panel-features-have-no-dedicated-docs-sectio
May 10, 2026
Merged

bpamiri merged 4 commits into
developfrom
docs/bot-2536-debug-panel-features-have-no-dedicated-docs-sectio

Conversation

@wheels-bot

@wheels-bot wheels-bot Bot commented May 10, 2026

Copy link
Copy Markdown
Contributor

This PR adds a dedicated guide for the Wheels Debug Panel (vendor/wheels/events/onrequestend/debug.cfm), which had no documentation in the user guides despite being one of the most-used development tools. The page covers every tab in the panel, the settings that control what appears, and when the bar is suppressed (AJAX, HTMX, Turbo, structured-output requests).

Fixes #2536

Pages changed

  • web/sites/guides/src/content/docs/v4-0-0-snapshot/digging-deeper/debug-panel.mdx — new page (sidebar order 11, between Packages and CORS)
  • web/sites/guides/src/content/docs/v4-0-0-snapshot/digging-deeper/index.mdx — added Debug Panel card to the section index
  • CHANGELOG.md — added [Unreleased] > ### Documentation entry

Screenshots needed

This docs PR includes {/* screenshot: ... */} placeholder markers. A human reviewer should capture and replace each one with an actual image:

  1. debug-panel.mdx near "The debug bar" section — the collapsed debug bar across the bottom of a browser window, showing all tabs and the git-branch + version on the right
  2. debug-panel.mdx near "Request tab" section — Request panel open — the key-value table showing Route, Controller, Action, HTTP Method, URL, Application, Data Source, DB Adapter, URL Rewriting
  3. debug-panel.mdx near "Timing tab" section — Timing panel open — horizontal bar chart with phases color-coded and sorted by duration, total ms shown in the header
  4. debug-panel.mdx near "Params tab" section — Params panel open — table with Name, Value, Type columns showing a mix of string and json-type parameters
  5. debug-panel.mdx near "Application" subsection — Environment panel open, Application section — environment dot, git branch, Wheels version, CFML engine, with environment-switch links
  6. debug-panel.mdx near "Packages" subsection — Packages section — Installed table on top showing installed packages, Available from registry table below listing first-party packages
  7. debug-panel.mdx near "Tools tab" section — Tools panel open — the link-card grid showing all available tool links

The bot cannot run the app or capture images — these are intentional gaps for human follow-up.

@wheels-bot wheels-bot Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wheels Bot — Reviewer A

TL;DR: This PR adds a well-written, factually accurate Debug Panel guide. The content and commit are clean, but there is one correctness issue that will silently break the sidebar layout: debug-panel.mdx claims order: 11, which is already held by route-model-binding.mdx. Starlight tie-breaks by filename (alphabetical), so the two pages will appear in undefined relative order — not the intended "between Packages and CORS" placement described in the PR body. A human maintainer should bump the conflicting pages before merging.


Correctness

Sidebar order collision — debug-panel.mdx line 6

sidebar:
  order: 11   # CONFLICT: route-model-binding.mdx also uses order: 11

The current digging-deeper sequence is:

Page order
packages 10
route-model-binding 11 ← occupied
cors 12
rate-limiting 13
dependency-injection-usage 14

The PR body says "sidebar order 11, between Packages and CORS", but that slot is taken. Starlight will tie-break alphabetically (debug-panel sorts before route-model-binding), so the two pages will render adjacently in an uncontrolled order, and the sidebar will not match the intent.

Fix: bump the four pages that follow Packages by one:

File Current order New order
debug-panel.mdx (new) 11
route-model-binding.mdx 11 12
cors.mdx 12 13
rate-limiting.mdx 13 14
dependency-injection-usage.mdx 14 15

Docs

DB Adapter field conditionality — debug-panel.mdx Request tab table

The guide presents all Request tab fields in a flat table as though they always appear, but the source renders DB Adapter conditionally:

<cfif StructKeyExists(application.wheels, "adapterName")>
    <dt>DB Adapter</dt>
    ...
</cfif>

The guide already handles this for Route: "(omitted when no named route matched)". Add a similar parenthetical for DB Adapter — e.g. "(omitted when the adapter name is not detected)" — for consistency and to avoid surprising users who do not see this row.


Commits

Single commit docs(web/guides): add Debug Panel guide covering each tab and configuration — type, scope, and subject are all valid per commitlint.config.js. No issues.


Security

The Aside caution block accurately warns against enabling the debug bar in production and lists the specific state it exposes (data source name, environment, CFML engine version, parameter values). No concerns.


The prose quality, factual accuracy against vendor/wheels/events/onrequestend/debug.cfm, CHANGELOG entry, and index card are all solid. The sidebar order collision is the only blocker; the DB Adapter note is a minor nit.

@wheels-bot

wheels-bot Bot commented May 10, 2026

Copy link
Copy Markdown
Contributor Author

Wheels Bot — Reviewer B (round 1)

A's two findings are verified and accurate. However, A missed two factual errors in the doc that are more impactful than the DB Adapter nit A did flag, and the verdict state is mildly inconsistent with the language used.

Sycophancy

None detected. A used COMMENTED state, flagged a real blocker, and did not approve.

False positives

None. Both findings are verified against source:

  • Sidebar order collision at order: 11 is real — route-model-binding.mdx already holds that slot (vendor/wheels/tests/... aside, confirmed by grepping the live tree).
  • DB Adapter conditional rendering is confirmed at vendor/wheels/events/onrequestend/debug.cfm line 213.

Missed issues

1. Wrong setting name throughout — debug-panel.mdx lines 40, 100, and the Configuration Reference table

The doc invents a setting called enableDebug that does not exist in the framework. The real setting is showDebugInformation. Grepping the entire vendor/wheels/ tree for enableDebug returns zero hits. The config snippet the doc teaches users to write:

<cfset set(enableDebug=true)>

would silently do nothing — set() stores arbitrary keys, but the debug bar gate checks application.wheels.showDebugInformation, not application.wheels.enableDebug. The correct form is:

<cfset set(showDebugInformation=true)>

A reviewed the prose and CHANGELOG carefully but did not cross-check the setting name against vendor/wheels/events/onrequestend/debug.cfm or vendor/wheels/events/EventMethods.cfc (line 266), where the gate is $get("showDebugInformation").

2. Wrong default environments for showDebugInformation — Configuration Reference table

The doc states the setting defaults to true in development and testing. The actual initialization in vendor/wheels/events/init/debugging.cfm (lines 3, 26-27) is:

application.$wheels.showDebugInformation = true;
// ...
if (application.$wheels.environment != "development") {
    application.$wheels.showDebugInformation = false;
}

That condition covers testing, maintenance, and production alike — the debug bar is suppressed in testing by default, not enabled. A verified the prose against the debug.cfm render logic but missed this initialization file.

3. Wrong default for enablePublicComponent — Configuration Reference table

The table says enablePublicComponent defaults to true. The actual initialization in vendor/wheels/events/onapplicationstart.cfc (lines 241-243) is:

application.$wheels.enablePublicComponent = false;
if (application.$wheels.environment == "development") {
    application.$wheels.enablePublicComponent = true;
}

The default is false; it only becomes true in development. The doc implies Tools tab shows up by default in all environments, which is incorrect.

Verdict alignment

A describes the sidebar collision as "the only blocker" and asks that it be fixed "before merging," yet submitted as COMMENTED rather than request-changes. For a finding A explicitly calls blocking, request-changes is the consistent state. The setting-name errors above strengthen the case for request-changes.

Address review feedback on PR #2539:

- Replace `enableDebug` (which does not exist in the framework) with
  `showDebugInformation` throughout. The actual gate is checked in
  `vendor/wheels/events/EventMethods.cfc` and initialized in
  `vendor/wheels/events/init/debugging.cfm`.
- Correct the default-environment claim: `showDebugInformation` is `true`
  only in `development`, not also in `testing` (per `debugging.cfm`
  lines 26-27, anything other than `development` flips it to false).
- Correct `enablePublicComponent` default: it is `false`, only flipped
  to `true` in `development` (per `onapplicationstart.cfc` lines 241-243).
- Add conditionality note to the Request tab's DB Adapter row, matching
  the existing treatment of the Route row (debug.cfm renders DB Adapter
  inside `StructKeyExists(application.wheels, "adapterName")`).
- Bump sidebar `order` for `route-model-binding`, `cors`, `rate-limiting`,
  and `dependency-injection-usage` by 1 each so `debug-panel` (order 11)
  no longer collides with `route-model-binding`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

@wheels-bot wheels-bot Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wheels Bot — Reviewer A

TL;DR: The follow-up commit (b3328d81b) correctly addresses all five issues raised in the previous Reviewer A pass — sidebar order collision resolved, enableDebug renamed to showDebugInformation, default-environment claim corrected, enablePublicComponent default corrected, and the DB Adapter conditionality note added. However, cross-checking the Tools tab URL table against vendor/wheels/public/routes.cfm and vendor/wheels/events/onrequestend/debug.cfm surfaces two factual URL inaccuracies that would send developers to 404s. A human reviewer should verify these before merging; verdict would be request changes if this were not a bot-authored PR.


Correctness

Tools tab — Tests card URL (debug-panel.mdx line 167)

| Tests | `/wheels/tests` — the test runner |

The debug bar renders this link with urlFor(route = 'testbox') (debug.cfm:454). The testbox route is declared at vendor/wheels/public/routes.cfm:40:

.get(name = "testbox", pattern = "/wheels/app/tests", to = "wheels##public##testbox")

The pattern is absolute and resolves to /wheels/app/tests, not /wheels/tests. A developer following the guide's URL would hit a 404.

Fix: Change the table row to:

| Tests | `/wheels/app/tests` — the test runner |

Tools tab — API Docs card URL (debug-panel.mdx line 166)

| API Docs | `/wheels/api-docs` — generated API documentation |

The debug bar renders this link with urlFor(route = 'wheelsApiDocs') (debug.cfm:446). The underlying route is declared inside the wheels namespace at vendor/wheels/public/routes.cfm:22:

.get(name = "apiDocs", pattern = "api", to = "public##api")

The namespace prefix produces the namespaced route name wheelsApiDocs, and the resolved URL is /wheels/api — not /wheels/api-docs. A developer following the guide's URL would get a 404.

Fix: Change the table row to:

| API Docs | `/wheels/api` — generated API documentation |

Resolved from previous review

All five issues flagged in the previous Reviewer A pass (SHA 6d31c0854) are confirmed resolved in this commit:

  • Sidebar order collision: debug-panel stays at 11; route-model-binding, cors, rate-limiting, and dependency-injection-usage each bumped by 1. No remaining collisions in the 11–15 range (verified against grep -rn "order:" digging-deeper/).
  • enableDebug → showDebugInformation throughout (verified against vendor/wheels/events/init/debugging.cfm:3).
  • Default-environment claim now reads "true only in development, false elsewhere" (matches debugging.cfm:26-27).
  • enablePublicComponent default corrected to "true in development, false elsewhere" (matches onapplicationstart.cfc:241-243).
  • DB Adapter conditionality note added to the Request tab table.

Commits

Both commits conform to commitlint.config.js:

  • docs(web/guides): add Debug Panel guide covering each tab and configuration — type docs, scope web/guides (valid), subject clean.
  • docs(web/guides): fix debug panel setting names and sidebar order — same; commit body clearly documents each correction with source-file citations.

Security

The production-safety <Aside type="caution"> block remains intact and accurate. No concerns.

@wheels-bot

wheels-bot Bot commented May 10, 2026

Copy link
Copy Markdown
Contributor Author

Wheels Bot - Reviewer B (round 1)

A's two URL findings are both verified correct against the source. No sycophancy, no false positives. I spot-checked the remaining factual claims in the doc (settings defaults, timing thresholds, and params exclusion list) and all are accurate. The only outstanding issues are A's two flagged URLs. Aligning on converged-changes.

Sycophancy: None detected. A did not approve, flagged real issues, and cited source file + line for each.

False positives: None. Both URL claims are accurate. Tests card: debug.cfm:454 calls urlFor(route='testbox'). The standalone route at vendor/wheels/public/routes.cfm:40 has name="testbox", pattern="/wheels/app/tests". The doc's /wheels/tests resolves to nothing. API Docs card: debug.cfm:446 calls urlFor(route='wheelsApiDocs'). Inside namespace(name="wheels"), name="apiDocs", pattern="api" (line 22) resolves to /wheels/api. The doc's /wheels/api-docs resolves to nothing.

Missed issues: None detected. Spot-checks on claims A did not explicitly verify: enablePackagesComponent defaults to true confirmed at vendor/wheels/events/init/views.cfm:20. enablePluginsComponent and enableMigratorComponent default to true confirmed at vendor/wheels/events/onapplicationstart.cfc:239-240. showIncompatiblePlugins defaults to true confirmed at vendor/wheels/events/init/orm.cfm:41. Timing thresholds (green under 100ms, yellow 100-499ms, red 500ms or more) confirmed at debug.cfm:134. Params tab exclusion list (fieldnames, route, controller, action, key) confirmed at debug.cfm:62.

Verdict alignment: A describes both issues as "would send developers to 404s" and explicitly states the verdict would be request-changes, but submitted as COMMENTED. The inconsistency is acknowledged in A's own review body; for a bot-authored PR this is a reasonable workflow choice since human approval is required regardless. Findings and verdict are otherwise consistent.

Convergence: Aligned. A's two URL corrections are real and actionable, no findings are disputed, and no additional issues were found. Emitting converged-changes to trigger address-review. The two fixes are mechanical: /wheels/tests to /wheels/app/tests and /wheels/api-docs to /wheels/api in the Tools tab table of debug-panel.mdx.

- Fix Tools tab API Docs URL: /wheels/api-docs -> /wheels/api
  (matches urlFor(route='wheelsApiDocs') resolving to namespaced
  /wheels/api per vendor/wheels/public/routes.cfm:22)
- Fix Tools tab Tests URL: /wheels/tests -> /wheels/app/tests
  (matches urlFor(route='testbox') pattern at
  vendor/wheels/public/routes.cfm:40)
@wheels-bot

wheels-bot Bot commented May 10, 2026

Copy link
Copy Markdown
Contributor Author

Wheels Bot — Address Review (round 1)

Applied consensus findings from Reviewer A and Reviewer B's convergence (round 1):

  • Tools tab API Docs URL (debug-panel.mdx:161) — changed /wheels/api-docs → /wheels/api. The debug bar renders this link via urlFor(route='wheelsApiDocs') (vendor/wheels/events/onrequestend/debug.cfm:446), which resolves to the namespaced route name="apiDocs", pattern="api" inside namespace(name="wheels") at vendor/wheels/public/routes.cfm:22 — final URL is /wheels/api.
  • Tools tab Tests URL (debug-panel.mdx:163) — changed /wheels/tests → /wheels/app/tests. The debug bar renders this link via urlFor(route='testbox') (vendor/wheels/events/onrequestend/debug.cfm:454); the standalone testbox route at vendor/wheels/public/routes.cfm:40 has pattern="/wheels/app/tests".

No findings were skipped — Reviewer B verified A's two URL findings against source, found no false positives, no missed issues, and no disputed findings.

The new commit will trigger a fresh Reviewer A run on the updated SHA. Convergence loop continues until reviewers align on approve or the outer-loop cap (5 rounds) is reached.

@wheels-bot wheels-bot Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wheels Bot — Reviewer A

TL;DR: This is the third Reviewer A pass on PR #2539 (head 0a796f78d). The latest commit correctly addresses both correctness issues raised in round 2 — the API Docs URL (/wheels/api-docs → /wheels/api) and the Tests URL (/wheels/tests → /wheels/app/tests) are now verified accurate against vendor/wheels/public/routes.cfm. The guide is factually clean. One minor documentation gap remains: the "Available from registry" sub-table inside the Packages section has a nested dependency on enablePublicComponent that the guide does not mention. Everything else is good. Verdict: comment (minor nit, no blocker).


Correctness

Round-2 fixes verified

Both URLs corrected in 0a796f78d are confirmed against vendor/wheels/public/routes.cfm:

  • wheelsApiDocs → namespace wheels + name="apiDocs", pattern="api" → resolves to /wheels/api ✓ (routes.cfm:22)
  • testbox → the outer standalone declaration, pattern="/wheels/app/tests" → resolves to /wheels/app/tests ✓ (routes.cfm:40)

Minor: "Available from registry" has a hidden enablePublicComponent dependency

debug-panel.mdx describes the Packages section as:

Shown when `enablePackagesComponent` is `true` (the default in Wheels 4.0+). Displays two tables.

The Installed packages table is gated solely on enablePackagesComponent, but the "Available from registry" sub-table has an additional guard in debug.cfm:341-368:

<cfif StructKeyExists(application.wheels, "public") AND IsObject(application.wheels.public)>
    <cfset local.registryResult = application.wheels.public.$loadRegistryPackages()>
    ...Available from registry table...
</cfif>

application.wheels.public is only populated when enablePublicComponent is true. A user who explicitly sets enablePublicComponent=false while keeping enablePackagesComponent=true will see the Installed table but not the Available table, with no explanation in the guide.

In practice this edge case is unlikely (both default to true in development, the environment where the debug bar is normally on), so this is not a blocker. A note next to the "Available from registry" heading would make the guide complete:

**Available from registry** (shown when `enablePublicComponent` is also `true`) pulls the same...

Resolved from previous rounds

All issues from rounds 1 and 2 are confirmed resolved at this head SHA:

  • Sidebar order collision: debug-panel=11, route-model-binding=12, cors=13, rate-limiting=14, dependency-injection-usage=15 — no collisions.
  • showDebugInformation setting name used throughout (not enableDebug).
  • Default-environment claim: "true only in development, false elsewhere" — matches debugging.cfm:26-27.
  • enablePublicComponent default: "true in development, false elsewhere" — matches onapplicationstart.cfc:241-243.
  • DB Adapter conditionality note present in the Request tab table.

Commits

All three commits conform to commitlint.config.js:

  • docs(web/guides): add Debug Panel guide covering each tab and configuration — type docs, scope web/guides (valid), subject clean.
  • docs(web/guides): fix debug panel setting names and sidebar order — same.
  • docs(web/guides): address Reviewer A/B consensus findings (round 1) — same; commit body cites source-file line numbers for both URL fixes.

Security

The <Aside type="caution"> block warns against enabling the debug bar in production and correctly names the exposed state (data source name, environment, CFML engine version, parameter values). The Tools tab is correctly gated on enablePublicComponent. No concerns.

@wheels-bot

wheels-bot Bot commented May 10, 2026

Copy link
Copy Markdown
Contributor Author

Wheels Bot — Reviewer B (round 1)

A's review on the third Reviewer A pass is clean. The one finding — that the "Available from registry" sub-table has a hidden enablePublicComponent dependency not documented in the guide — is accurate and well-sourced. No sycophancy, no false positives. I have no additional missed issues. Aligning on converged-approve.

Sycophancy

None detected. A used COMMENTED state, cited source file and line numbers for the finding, and did not approve a guide with a documented gap.

False positives

None. A's claim is verified directly against source:

  • debug.cfm:341 gates the "Available from registry" block on StructKeyExists(application.wheels, "public") AND IsObject(application.wheels.public).
  • onapplicationstart.cfc:337-338 confirms application.$wheels.public is only set when enablePublicComponent is true.

A user with enablePublicComponent=false and enablePackagesComponent=true will see the Installed table but not the Available table, exactly as A describes.

Missed issues

None detected. I re-checked:

  • All prior-round findings (setting name showDebugInformation, default-environment claim, enablePublicComponent default, sidebar order collision, both URL corrections) are confirmed resolved in the current diff.
  • Configuration Reference table defaults are accurate per the source init files (verified in the previous B rounds and still correct at this SHA).
  • All three commits are conformant with commitlint.config.js (type docs, scope web/guides, subjects under 100 chars, not ALL-CAPS).
  • No security concerns.

Verdict alignment

A describes the finding as "not a blocker" and used COMMENTED rather than REQUEST_CHANGES. That is consistent: both enablePackagesComponent and enablePublicComponent default to true in development, which is the only environment where the debug bar appears by default, making the missing caveat invisible in the common case. The guide is factually correct for any default configuration; the gap only surfaces when a developer explicitly disables one component while leaving the other enabled.

Convergence

Aligned. A's one finding is real, the verdict (COMMENTED) is appropriate for its severity, and there are no disputed claims or missed blockers. The doc is review-clean at this SHA. The enablePublicComponent dependency on the "Available from registry" sub-table is a valid improvement the human reviewer may choose to add before merge, but it is not required.

Captured against a running Wheels 4.0.0-SNAPSHOT app (the blog sample)
via headless Chrome driven by CDP. All seven `{/* screenshot: ... */}`
placeholders in debug-panel.mdx are now replaced with `<img>` references
to PNGs under public/v4-0-0-snapshot/digging-deeper/debug-panel-screenshots/.

Shots:
- 01-collapsed-bar — bar pinned to bottom with all five tabs visible
- 02-request-panel — Posts.index with full key-value table
- 03-timing-panel — execution timing bars (action 9ms, view 3ms)
- 04-params-panel — table populated from a query string with four params
- 05-environment-panel — Application + Packages + Plugins sections
- 06-tools-panel — Developer Tools link grid

Total bundle ~1.0MB (six PNGs at 1280x800 @2x for retina). The
Environment-panel shot is referenced from both the Application and
Packages subsections since it shows both at once.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

@wheels-bot wheels-bot Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wheels Bot — Reviewer A

TL;DR: Round 4 of PR #2539. The latest commit (fc5ad49fe) adds six real screenshots that fill the placeholder markers from earlier commits — the guide is now complete and renderable without placeholder gaps. Two minor nits remain: 05-environment-panel.png is reused verbatim for the Packages subsection with an alt text that misrepresents what the image shows, and the enablePublicComponent dependency for the "Available from registry" table (flagged in round 3) is still undocumented. Neither is a blocker. Verdict: comment.


Docs

Duplicate screenshot with misleading alt text — debug-panel.mdx line 138

05-environment-panel.png appears twice in the guide. The first use (line 114, Application subsection) has a comprehensive alt text describing the full environment panel:

Environment & Configuration panel showing Application section with Environment
(Development with green dot), Wheels Version, CFML Engine (Lucee 7.0.0.395),
Host Name; Packages section listing wheels-basecoat; and Plugins (Legacy)
"No plugins installed."

The second use (line 138, Packages subsection) claims to show something different:

Packages section of the Environment panel — Installed table showing
wheels-basecoat 3.0.0-rc.1 with version and description columns

Both image tags resolve to the same file. The second alt text implies a focused close-up of the Packages table, but the actual image is the same full-panel screenshot that already appeared above. Screen readers and search indexers see two contradictory descriptions of identical content. The PR body originally requested a separate screenshot (#6) for the Packages section showing the "Installed table on top … Available from registry table below"; that dedicated screenshot was not created.

The most straightforward fix is to update the line 138 alt text to accurately describe the actual image — the same full-panel view:

![Environment panel — Application section (environment, Wheels version, CFML engine), Packages section (wheels-basecoat listed), and Plugins section (empty)](/v4-0-0-snapshot/digging-deeper/debug-panel-screenshots/05-environment-panel.png)

A separate dedicated Packages screenshot (06-packages-panel.png) would be better, but correcting the alt text is the minimum needed to avoid the inconsistency.


enablePublicComponent dependency still undocumented — debug-panel.mdx line 130 (carry-over from round 3)

The guide describes the "Available from registry" sub-table (line 130) as gated only on enablePackagesComponent. As established in the round-3 review, debug.cfm:341-368 wraps this sub-table in an additional guard:

<cfif StructKeyExists(application.wheels, "public") AND IsObject(application.wheels.public)>
    <cfset local.registryResult = application.wheels.public.loadRegistryPackages()>
    ...Available from registry table...
</cfif>

application.wheels.public is only set when enablePublicComponent is true. A developer who explicitly sets enablePublicComponent=false (e.g. on a staging server) will see the Installed table but not the Available table, with no explanation in the guide. The round-3 review suggested:

**Available from registry** (shown when `enablePublicComponent` is also `true`) pulls the same...

Still a nit — both settings default to true in development, which is the only environment where the debug bar normally runs — but the guide would be more complete with this caveat.


Commits

All four commits in this PR conform to commitlint.config.js:

  • docs(web/guides): add Debug Panel guide covering each tab and configuration ✓
  • docs(web/guides): fix debug panel setting names and sidebar order ✓
  • docs(web/guides): address Reviewer A/B consensus findings (round 1) ✓
  • docs(web/guides): add debug panel screenshots from blog demo ✓ (type docs, scope web/guides, subject ≤ 100 chars, not ALL-CAPS)

Resolved from all previous rounds

Everything flagged in rounds 1–3 is confirmed resolved at this head SHA: sidebar order collision (11–15 range, no conflicts), showDebugInformation setting name, default-environment claims, DB Adapter conditionality note, API Docs URL (/wheels/api), Tests URL (/wheels/app/tests), and the production-safety Aside block.

@wheels-bot

wheels-bot Bot commented May 10, 2026

Copy link
Copy Markdown
Contributor Author

Wheels Bot — Reviewer B (round 1)

A's round 4 review is clean. Both findings are verified against source, no sycophancy, no false positives, no missed issues. Aligning on converged-approve.

Sycophancy

None detected. A used COMMENTED state, cited specific lines and source files for both findings, and did not approve.

False positives

None.

Finding 1 — duplicate screenshot (debug-panel.mdx line 138): Confirmed. The current file contains two identical image references at lines 114 and 138, both pointing to 05-environment-panel.png. The alt text at line 114 accurately describes the full three-section panel (Application, Packages, Plugins). The alt text at line 138 claims to show only the "Installed table showing wheels-basecoat 3.0.0-rc.1 with version and description columns" — a focused close-up that does not match the actual image. Screen readers and search indexers receive contradictory descriptions of identical content. A's suggested fix (correct the line 138 alt text to accurately describe the actual image) is the minimum needed. A separate dedicated Packages screenshot would be better but A correctly labels it as an optional improvement.

Finding 2 — enablePublicComponent dependency undocumented (carry-over from round 3): Confirmed still present. The prose for the "Available from registry" sub-table does not mention the enablePublicComponent=true guard. Prior B (round 3) verified this against debug.cfm:341 and onapplicationstart.cfc:337-338. The current file still has no caveat here.

Missed issues

None detected. I spot-checked:

  • Tools tab URLs: /wheels/api and /wheels/app/tests are both correct in the current file (fixed in commit 3).
  • All six screenshot alt texts other than line 138 are accurate descriptions of their respective panels.
  • Configuration reference table defaults: showDebugInformation ("true in development, false elsewhere") and enablePublicComponent ("true in development, false elsewhere") are correct per the init files verified in prior rounds.
  • All four commits conform to commitlint.config.js: type docs, scope web/guides, subjects under 100 chars, not ALL-CAPS.

Verdict alignment

A's verdict of COMMENTED is consistent with characterizing both findings as nits. Neither finding causes factual errors or broken links — the duplicate screenshot issue is an accessibility/clarity concern, and the enablePublicComponent dependency gap only surfaces when a developer explicitly disables that component while leaving enablePackagesComponent enabled (both default to true in development, the only environment where the debug bar normally runs). COMMENTED rather than REQUEST_CHANGES is defensible here.

Convergence

Aligned. A's two findings are real and appropriately weighted. A's verdict is consistent with the findings. There are no disputed claims, no false positives to retract, and no missed blockers. The guide is factually correct and renderable at this SHA. The two nits are improvements a human reviewer may choose to require before merge, but they are not required for the guide to be useful and accurate.

@bpamiri
bpamiri marked this pull request as ready for review May 10, 2026 07:22
@bpamiri
bpamiri merged commit 422fcdb into develop May 10, 2026
14 checks passed
@bpamiri
bpamiri deleted the docs/bot-2536-debug-panel-features-have-no-dedicated-docs-sectio branch May 10, 2026 07:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Debug Panel features have no dedicated docs section in the guides

1 participant